Contact management for mobile communication devices in wireless packet switched networks

ABSTRACT

Methods and apparatus for maintaining contact with a wireless communication network improve the timeliness in which traffic is delivered to a mobile communication device in marginal coverage areas. The number of times the mobile device informs the network of its presence in such coverage may be reduced based on predetermined network characteristics. In one illustrative example, the method involves continually maintaining and updating a message decode history list in memory and comparing it with a predetermined paging pattern of the network. The message decode history list keeps track of whether or not each message of a most recent plurality of regularly broadcasted messages has been successfully decoded. An update message which informs the network of the mobile device is transmitted in response to identifying that unsuccessful message decode indicators in the history list overlap with all page transmission periods of the network paging pattern. Conversely, the update message is not normally transmitted in response to identifying that any successful message decode indicator in the history list overlaps with any page transmission period of the network paging pattern.

BACKGROUND

[0001] 1. Field of Technology

[0002] This application relates generally to the field of wirelesscommunications, and in particular to techniques for improving thetimeliness in which data packets are delivered to a mobile device over awireless link in marginal coverage without adding undue amounts ofpolling across the link.

[0003] 2. Description of the Related Art

[0004] Mobile communication devices, when operating within fringecoverage areas in wireless packet switched networks, may only be able tosend and receive packet traffic during sporadic intervals. This causesconventional notions of packet-switched data transactions to break down.Conventional approaches, such as simply retrying transmissions using aback off algorithm, will result in either an intensive use of radioresources (e.g. excessive polling) or poor reliability, especially forcommunications in a direction from the network to the mobile device. Inmarginal coverage, data may not be received at the mobile device in atimely fashion as is expected for real-time applications.

SUMMARY

[0005] As described herein, the timeliness in which traffic is deliveredto a mobile device in marginal coverage is improved without adding undueamounts of polling across a wireless link. Also, the number of times amobile device updates a network may be advantageously reduced orminimized based on known network communication schemes.

[0006] According to one aspect of the present invention, a method ofmaintaining contact with a wireless communication network generallyinvolves monitoring a wireless communication channel, determining areceived signal strength of signals on the wireless communicationchannel, and attempting to decode a message from the signals. Inresponse to an inadequate communication condition being identified, themobile device transmits an update message which informs the network ofthe mobile device. On the other hand, the mobile device normallyrefrains from transmitting an update message in response to a messageduring a page transmission period being successfully decoded—even thoughthe received signal strength may be below a predetermined threshold.

[0007] An update message is any message transmitted by a mobile devicethat is used to inform and/or update the network of the mobile device'sstatus, even if the message may have another different primary purpose.The update message may be transmitted immediately after the inadequatecommunication condition is identified, or when conditions are improvedor adequate, and/or after an expiration of a predetermined time period.The inadequate communication condition may be identified based one ormore indicators including, for example, an unsuccessful decoding of oneor more messages or a detection of an inadequate communication qualityfor an extended period of time. The decoded message may be a broadcastedpage message which, if notifying the mobile device of an upcoming datacommunication session, causes the mobile device to respond to thenetwork to receive data communications.

[0008] According to another aspect of the present invention, a method ofmaintaining contact with a wireless communication network generallyinvolves monitoring a wireless communication channel, receiving amessage that notifies the mobile communication device of an upcomingdata communication session, and transmitting one or more responsemessages in response to receiving the message. After transmitting theone or more response messages, further data communications associatedwith the message may not be received by the mobile device. In thissituation, the mobile device will transmit an update message whichinforms the network of the mobile device after it detects apredetermined condition. The predetermined condition may involve anysuitable motivation to contact the network, for example, an expirationof a predetermined time period, a detection of adequate communicationquality, or a detection of user activity at the mobile device. Theinitial message received by the mobile device may be a broadcasted pagemessage from the network.

[0009] According to yet another aspect of the present invention, amethod of maintaining contact with a wireless communication networkinvolves continually maintaining a message decode history list andcomparing it with a predetermined paging pattern of the network. Themessage decode history list has a plurality of message decode indicatorswhich together cover a time period which is equal to or greater than thepredetermined network paging pattern. An update message which informsthe network of the mobile device is transmitted in response toidentifying that one or more unsuccessful decode periods in the messagedecode history list overlap with all page transmission periods in thepredetermined network paging pattern. On the other hand, the updatemessage is not normally transmitted in response to identifying that anysuccessful decode period in the message decode history list overlapswith any page transmission period in the predetermined network pagingpattern.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a block diagram of a communication system in which thetechniques of the instant application may be implemented;

[0011]FIG. 2 shows a mobile device state transition diagram inaccordance with various aspects of the techniques of the instantapplication;

[0012]FIG. 3 is a block diagram of a preferred communication system withwhich a network update scheme according to the instant application maybe implemented;

[0013]FIG. 4 is a block diagram of a preferred mobile communicationdevice which may be configured to inform a network of its connectionstatus in accordance with a network update scheme described in thisapplication;

[0014]FIG. 5 is a flowchart which describes one method of maintainingcontact with a wireless network;

[0015]FIG. 6 is a flowchart which describes another method ofmaintaining contact with a wireless network;

[0016]FIG. 7 is a flowchart which describes yet another method ofmaintaining contact with a wireless network; and

[0017] FIGS. 8(A)-(G) are timing diagrams related to the methoddescribed in relation to FIG. 7.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0018]FIG. 1 is a block diagram of a communication system in which thetechniques of the instant application may be implemented. The exemplarycommunication system 300 includes a network 302 and a mobilecommunication device 304 which communicate over a wireless link 305.Network 302 includes a server 306, a network controller 308, a basestation controller 310, a base station 312, and an antenna shown in FIG.1 to include an antenna tower 313.

[0019] Server 306 may be any component or system connected within or tonetwork 302. For example, server 306 may be a service provider systemwhich provides wireless communication services to device 304 and storesdata required for routing a communication signal to the mobile device304. Server 306 may also be a gateway to other networks, including butin no way limited to a telephone network, a local area network, or awide area network, such as the Internet. Those skilled in the art towhich the instant application pertains will appreciate that althoughonly a single server 306 is shown in FIG. 1, a typical communicationnetwork may include further additional network storage, processing,routing and gateway components.

[0020] Network controller 308 normally handles routing of communicationsignals through network 302 to a destination mobile communication device(such as mobile device 304). In the context of a packet-switchedcommunication network, such as a General Packet Radio Service (GPRS)based network, network controller 308 must determine a location oraddress of the destination mobile device and route packets for themobile device through one or more routers or switches (not shown) andeventually to a base station (such as base station 313) serving anetwork coverage area in which the mobile device is currently located.

[0021] Base station 312 and its associated controller 310 andantenna/tower 313 provide wireless network coverage for a particularcoverage area commonly referred to as a “cell”. Base station 312transmits communication signals to and receives communication signalsfrom mobile devices within its cell via antenna 313. Base station 312normally performs such functions as modulation and possibly encodingand/or encryption of signals to be transmitted to the mobile device inaccordance with particular, usually predetermined, communicationprotocols and parameters, under the control of base station controller310. Base station 312 similarly demodulates and possibly decodes anddecrypts, if necessary, any communication signals received from mobiledevice 304 within its cell. Communication protocols and parameters mayvary between different networks. For example, one network may employ adifferent modulation scheme and operate at different frequencies thanother networks.

[0022] Those skilled in the art will appreciate that an actual wirelessnetwork, such as a Mobitex™ network or a DataTAC™ network, for example,may include hundreds of cells, each served by a distinct base stationcontroller 310, base station 312 and transceiver, depending upon thedesired overall expanse of network coverage. All base stationcontrollers and base stations may be connected by multiple switches androuters (not shown), controlled by multiple network controllers, onlyone of which is shown in FIG. 1. Similarly, as described above, network304 may also include a plurality of servers 306, including for examplestorage, routing, processing and gateway components. Mobitex™ is aregistered trademark of Telia AB; and DataTAC™ is a registered trademarkof Motorola, Inc.

[0023] Thus, the term “network” is used herein to denote the fixedportions of the network, including RF transceivers, amplifiers, basestation controllers, network servers, and servers connected to thenetwork. Those skilled in the art will appreciate that a wirelessnetwork may be connected to other systems, possibly including othernetworks, not explicitly shown in FIG. 1. A network will normally betransmitting at the very least some sort of paging and systeminformation on an ongoing basis, even if there is no actual packet dataexchanged. Although the network consists of many parts, these parts allwork together to result in a certain behaviour at the wireless link.However, which parts of the network are responsible for which particularaspects of the final behaviour over the wireless link is beyond thescope of this application. What is important is the overall behaviourthat the components of the network produce, as described in furtherdetail below.

[0024] Mobile communication device 304 preferably has a display 320, akeyboard 322, an possibly one or more auxiliary user interfaces (UI)324, each of which are coupled to a controller 314, which in turn isconnected to a modem 316 and an antenna 318. Mobile communication device304 sends communication signals to and receives communication signalsfrom the network 302 over wireless link 305 via antenna 318. Radio modem316 performs functions similar to those of base station 312, includingfor example modulation/demodulation and possibly encoding/decoding andencryption/decryption. It is also contemplated that modem 316 mayperform certain functions in addition to those that are performed bybase station 312. Where the information in a communication signal orpacket is confidential and can be decrypted only at a destination mobiledevice, for example, base station 312 may not encrypt a received packetwhich contains information that has been previously encrypted, whereasthe radio modem may decrypt such encrypted information. It will beapparent to those skilled in the art that the radio modem will beadapted to the particular wireless network or networks in which themobile device 304 is intended to operate.

[0025] In most modern communication devices, controller 314 will beembodied as a central processing unit or CPU running operating systemsoftware which is stored in a mobile device memory component (notshown). Controller 314 will normally control overall operation of themobile device 304, whereas signal processing operations associated withcommunication functions are typically performed in the modem 316.Controller 314 interfaces with device display 320 to display receivedinformation, stored information, user inputs and the like. A keyboard322, which may be a telephone type keypad or full alphanumeric keyboard,possibly with auxiliary input components, is normally provided on mobilecommunication devices for entering data for storage on the mobiledevice, information for transmission from the mobile device to thenetwork, a telephone number to place a call from the mobile device,commands to be executed on the mobile device, and possibly other ordifferent user inputs.

[0026] Thus, the term “mobile device” is used herein in reference to awireless mobile communication device. The mobile device may consist of asingle unit, such as a data communication device, a cellular telephone,a multiple-function communication device with data and voicecommunication capabilities for example, a personal digital assistant(PDA) enabled for wireless communication, or a computer incorporating aninternal modem, but may instead be a multiple-module unit, comprising aplurality of separate components, including but in no way limited to acomputer or other device connected to a wireless modem. In the mobiledevice block diagram of FIG. 1 for example, modem 316 and antenna 318may be implemented as a radio modem unit that may be inserted into aport on a laptop computer, which would include display 320, keyboard322, possibly one or more auxiliary UIs 324, and controller 314 embodiedas the computer's CPU. It is also contemplated that a computer or otherequipment not normally capable of wireless communications may be adaptedto connect to and effectively assume control of the radio modem 316 andantenna 318 of a single-unit device such as one of those describedabove. Although only a single device 304 is shown in FIG. 1, it will beobvious to those skilled in the art to which this application pertainsthat many devices, including different types of devices, may be activeor operable within a wireless communication network at any time.

[0027] Having described the components within the system of FIG. 1, itsoperation will now be discussed in further detail. A mobile devicetransmitter, within the radio modem 316 in FIG. 1, is typically keyed orturned on only when it is sending to the network, and is otherwiseturned off to conserve resources. Such intermittent operation of thetransmitter has a dramatic effect on power consumption of mobile device304. Since mobile device power is normally provided by a limited powersource such as a battery, device design and operation must minimizepower consumption in order to extend battery life or the time betweenpower source charging operations when a mobile device includes arechargeable power source.

[0028] Wireless link 305 represents one or more different channels,typically different radio frequency (RF) channels, and associatedprotocols used between network 302 and device 304. An RF channel is alimited resource that must be conserved, typically due to limits inoverall bandwidth, as well as mobile device battery power for example,and may employ a variety of modulation and duplexing schemes. Although anetwork is normally adapted to be continuously or intermittently keyed,even if no traffic is exchanged, a mobile device is typically only keyedwhen it has traffic to send. Conventional “pull” approaches involving aquery from device 304 to network 302 before meaningful information isexchanged between the mobile device and the network, is therefore RFresource intensive and thus unsuitable for many wireless communicationapplications.

[0029] Although no network coverage status resolution scheme can improveactual network coverage, it is possible to improve the timeliness inwhich traffic is delivered to a mobile device other than by forcing themobile device to inform the network of its presence relatively often.Broadly, a novel approach for managing network coverage or contactstatus involves a mobile communication device exploiting particularavailable information, including predetermined network operationparameters or properties, and/or measured or detected events, to make aninformed estimate of the network's view of the mobile device. If themobile device infers that the network may consider the mobile to be outof coverage, then it may transmit a packet or signal to the networkindicating that it is in fact within network coverage. Conversely, ifthe mobile device is able to infer that the network should not havejudged it to be out of range, it may save radio resources by either notindicating its presence to the network or indicating its presence only asmall number of times.

[0030]FIG. 2 shows a mobile device state transition diagram inaccordance with various aspects of the techniques of the instantapplication. A mobile device can hear a base station in all of thestates in FIG. 2 except the “temporary coverage loss” state 406 and the“lost, must notify” state 408. State 404 represents a mobile devicebeing in good coverage, but not actively exchanging data with thenetwork. In the event of a loss of signal on a network paging channel orsimilar channel monitored by the mobile device, or the strength of sucha signal dropping below an RSSI (Received Signal Strength Indicator)threshold, the mobile device will make a transition 412 from the “goodcoverage state 404 to a “temporary coverage loss” state 406. If thesignal is regained or improves after a short period of time, the mobiledevice may then make a transition 414 back to the “good coverage” state404. Upon regaining network coverage after a timeout, the mobile devicemakes a transition 416 to a “lost, must notify” state 408, which isdescribed in further detail below.

[0031] In response to a downlink page in the “good coverage” state 404,the mobile device makes a transition 418 to an “attempt contact” state410 in which the mobile device attempts to send a response to thenetwork. On successful contact with a base station in the network, themobile device makes a transition 420 to an “exchange traffic” state 402where the base station sends data to the mobile device. The exchangingof traffic in this state 402 may involve many data packets transferredbetween the mobile device and the network. After exchanging traffic, themobile device makes a transition 422 back to the “good coverage” state404.

[0032] The mobile device also has an “in coverage, must notify” state430. In this state 430, the mobile device is listening to the network.The mobile device knows that it must inform the network of its presence,but is holding off for either some time to expire or signal or coverageto improve. In general, the mobile device spends time in state 430whenever possible rather than in the “lost, must notify” state 408.Conventional approaches might dictate that the mobile device be out ofcoverage until the signal is adequate for two-way communications.However, if the signal is good enough for the mobile to “hear” thenetwork, it can be situated in state 430. To comply with the network, itwill not attempt to send to the network while in this state.

[0033] From the “lost, must notify” state 408, the mobile device willmake a transition 434 to the “in coverage, must notify” state 430 onreceiving a signal, no matter how weak, but will make a transition 432back to the “lost, must notify” state 408 upon losing the signal again.The mobile device may also make a transition 436 to the “in coverage,must notify” state 430 from the “attempt contact” state 410 upon failingto contact a base station after receiving a page through a transition418 (or upon a failure by the network to complete a communicationoperation), as described in further detail below. In the “in coverage,must notify” state 430, the mobile device makes a transition 438 to the“attempt contact” state 410 and tries contacting the base station againin response to detecting a predetermined condition. The predeterminedcondition may be an expiration of a timeout period, changes in RSSI,detection of a signal as strong as dictated by a network specification,as well as any other cue that it might be a good time to retry tocontact the network, such as user activity or input detected at themobile device.

[0034] In most networks, how often and with what interval the networkmay broadcast a page message to a mobile device is predetermined. Amobile device may thereby monitor a paging channel or equivalent channelon the wireless link and, on not being paged, be certain that thenetwork has not attempted to contact it. Thus, even in periods where thesignal is too poor for successful two-way packet exchange to take place,if the mobile device determines that no packet exchange was attempted bythe network during this time, then the network has no notion thatcoverage was poor in the interim, and will not have given up oncontacting the mobile device.

[0035] According to this embodiment, the mobile device remains in the“good coverage” state 404 even when coverage is relatively poor, unlessno signal can be decoded. That is, signal quality and signal level donot in themselves cause any transition 412. The transition 412 is thuslimited to situations in which the mobile fails to decode signals fromthe network. Therefore, network update signals that would normally besent from a mobile device when coverage is poor but not lost areavoided. If a page or like signal is detected when the mobile device isin poor coverage, the mobile device will make the transition 418 to the“attempt contact” state 410 and operations continue substantially asdescribed above.

[0036] Conversely, if signal strength and quality are good (state 404)and the mobile device detects that the network either pages the mobiledevice or attempts to send traffic to the mobile device (transition 418to state 410), but the network does not complete this communicationaction, the mobile device may infer that the network was unable todecode the mobile device's responses. The mobile device thus knows thatthe network may have attempted to send it traffic but was notsuccessful, and subsequently makes a transition 436 to the “in coverage,must notify” state 430. When certain time, signal condition, or useractivity conditions are satisfied, the mobile device will then make atransition 438 to the “attempt contact” state 410 and re-inform thenetwork of its presence. If contact with the network is established, themobile device will make a transition 420 to the “exchange traffic” state402 and the network will re-attempt sending the traffic. Any trafficwill thereby be delivered to the mobile device in a delayed, but onlymoderately delayed, manner. In accordance with this aspect of theinvention, the mobile device may recognize the problems and cansubstantially reduce the associated traffic delivery delays.

[0037] During periods when the mobile is completely out of touch withthe network (state 406), the network may or may not have attempted toreach the mobile device and judged it to be unreachable. If the mobiledevice is completely out of contact for occasional periods, it is notpossible for the mobile device to judge whether or not the network mayhave attempted to contact it. In packet switched networks, the networkmay spend a relatively long time period attempting to contact the mobiledevice before deeming the mobile device to be unreachable. It wasobserved that a Mobitex network, for example, spent hours attempting tocontact a mobile device. In GPRS networks, for example, the time theGPRS components of the network spends retrying is typically muchsmaller, but servers connected to the GPRS network may make it appearmuch longer by doing higher level retries at the IP packet level.

[0038] If the characteristics that the network uses in attempting tocontact a mobile device are known, then this knowledge may be exploitedat the mobile device. If a control system or software on the mobiledevice knows how long and how often the network may attempt to contact amobile device, even with no response, a judgment can be made as towhether or not the network may have been able to attempt contact andgive up, all during the period in which the mobile device was not ableto hear the network. As such, if the period of time that the mobiledevice was out of coverage (state 406) was less than the time it takesfor the network to judge the mobile device out of coverage, it is notnecessary for the mobile device to indicate to the network that it hasre-entered coverage after a period of loss of contact. In accordancewith this embodiment, the mobile device preferably remains in the“temporary coverage loss” state 406, and thus may make a transition 414back to the “good coverage” state 404, for significantly longerdurations than known systems allow.

[0039] This general concept can be further extended to include spottycoverage, where the mobile device may compare those time segments ofsuccessful receipt of a network paging channel against the pattern ofpaging requests usually seen. If and only if the pattern of pagingrequests can be fit in such a way that the mobile device may possiblyhave missed every paging attempt, then the mobile device should indicateto the network that it is back in coverage. The mobile device maytherefore make a transition 440 to the “in coverage, must notify” state430 from the “good coverage” state 404 when all network paging requestsmay have been missed. To further save power, this can in turn beextended to weigh a risk of missed messages against radio resourceusage. The transition 440 might therefore be limited to situations inwhich a cumulative probability that the mobile device has missed amessage is sufficiently high, depending upon the time of day, pasttraffic patterns, or other criteria, for example.

[0040] Several wireless network update schemes have been describedabove. An illustrative example wireless network and mobile communicationdevice in conjunction with which any of the above schemes mayimplemented will now be described in detail with reference to FIGS. 3and 4. However, these examples are intended solely for the purposes ofillustration; the network update schemes described herein are in no wayrestricted to the particular type of networks or devices describedbelow.

[0041] Preferred Network. In this application, the expression “IP basedwireless network” is intended to include, but is not limited to: (1) theCode Division Multiple Access (CDMA) network that has been developed andoperated by Qualcomm; (2) the General Packet Radio Service (GPRS) foruse in conjunction with Global System for Mobile Communications (GSM)network both developed by the standards committee of the EuropeanConference of Postal and Telecommunications Administrations (CEPT); and(3) future third-generation (3G) networks like Enhanced Data rates forGSM Evolution (EDGE) and Universal Mobile Telecommunications System(UMTS). GPRS is a data communications overlay on top of the GSM wirelessnetwork. It is to be understood that although an IP based wirelessnetwork is shown in FIG. 3, the network update schemes as described inthe present application could be utilized with other types of wirelesspacket data network.

[0042]FIG. 3 is a block diagram of a preferred communication system withwhich a network update scheme according to the instant application maybe implemented. FIG. 3 shows the basic components of an IP basedwireless data network, such as the GPRS network. The mobile device 500communicates with a wireless packet data network 545 and may also becapable of communicating with a voice wireless network (not shown), asdescribed in further detail below. The voice network may be associatedwith the IP based wireless network 545, similar to the GSM and GPRSnetworks for example, or may be a completely separate network.

[0043] The gateway 540, network entry points 505, name server 507 andaddress resolution components 535 are all specific examples of theserver 306 shown in FIG. 1 and described above. Similarly, the networkrouters 615 in FIG. 3 are examples of a network controller 308 ofFIG. 1. Although not explicitly shown in FIG. 3, it will be apparent tothose skilled in the art that the base stations generally designated 520in FIG. 3 include respective base station controllers, and are analogousto the components 310 and 312 of FIG. 1. The GPRS IP based data networkis unique in that it is effectively an overlay on the GSM voice network.As such, the GPRS components will either extend existing GSM components,such as the base stations 520, or require additional components to beadded, like an advanced gateway GPRS service node (GGSN) as a networkentry point 505.

[0044] As shown in FIG. 3, the gateway 540 may be coupled to an internalor external address resolution component 535 and one or more networkentry points 505. Data packets are transmitted from the gateway 540,which is the source of information to be transmitted to the mobiledevice 500 in the example system of FIG. 3, through the network 545 tothe mobile device 500 by setting up a wireless network tunnel 525 fromthe gateway 540 to the mobile device 500. In order to create thiswireless network tunnel, a unique network address must be associatedwith the mobile device. In an IP based wireless network however, networkaddresses are normally not permanently assigned to a particular mobiledevice 500, but instead are dynamically allocated on an as-needed basis.It is thus necessary for the mobile device to acquire a network address,and for the gateway 540 to determine this address so as to establish thewireless network tunnel 525.

[0045] A network entry point 505 is generally used to multiplex anddemultiplex between many gateways, corporate servers and bulkconnections like the Internet for example. There are normally very fewof these network entry points 505, since they are also intended tocentralize externally available wireless network services. The networkentry points 505 often use some form of address resolution component 535that assists in address assignment and lookup between gateways 545 andmobile devices 500. In this example, the dynamic host configurationprotocol (DHCP) is shown as one method for providing an addressresolution mechanism.

[0046] A central internal component of the wireless data network 545 isa network router 515. Normally these network routers 515 are proprietaryto the particular network, but they could instead be constructed fromstandard commercially available hardware. Their purpose is to centralizethe thousands of base stations 520 normally implemented in a relativelylarge network into a central location for a long-haul connection back tothe network entry point 505. In some networks there may be multipletiers of network routers 515, and cases where there are master and slavenetwork routers 515, but in all cases the functions are similar. Oftenthe network router 515 will access a name server 507, in this case shownas a dynamic name server (DNS) 507 as used in the Internet, to look updestinations for routing data messages. The base stations 520, asdescribed above, provide wireless links to the mobile devices 500.

[0047] A problem faced by most IP based wireless networks 545 is thatthe associated wireless equipment tends to be more complex than atraditional (i.e. wireline) IP network, and includes advancedproprietary hardware that does not normally rely exclusively on IP asthe communication standard. Other protocols for transferring informationover the wireless network 545 may therefore be required. Wirelessnetwork tunnels such as 525 are opened across the wireless network 545in order to allocate the necessary memory, routing and address resourcesto deliver IP packets.

[0048] To open the tunnel 525 for example, the mobile device 500 mustuse a specific technique associated with the particular wireless network545. In GPRS, for example, these tunnels 525 are called PDP contexts.The step of opening a tunnel may require the mobile device 500 toindicate the domain, or network entry point 505 with which it wishes toopen the tunnel. In this example, the tunnel first reaches the networkrouter 515, and the network router 515 then uses the name server 507 todetermine which network entry point 505 matches the domain provided.Multiple tunnels can be opened from one mobile 500 for redundancy or toaccess different gateways and services on the network. Once the domainname is found, the tunnel is then extended to the network entry point505 and the necessary resources are allocated at each of the nodes alongthe way. The network entry point 505 then uses the address resolution(or DHCP 535) component to allocate an IP address for the mobile device500. When an IP address has been allocated to the mobile device 500 andcommunicated to the gateway 540, information can then be forwarded fromthe gateway 540 to the mobile device 500.

[0049] The wireless network tunnel 525 typically has a very limitedlife, depending on the mobile's 500 coverage profile and activity. Thewireless network 545 will tear down the tunnel 525 after a certainperiod of inactivity or out-of-coverage period, in order to recapturethe resources held by this tunnel 525 for other users. The main reasonfor this is to reclaim the IP address temporarily reserved for thatmobile device 500 when the tunnel 525 was first opened. Once the IPaddress is lost and the tunnel is broken down, the gateway 540 thenloses all ability to initiate IP data packets to the mobile device,either over Transmission Control Protocol (TCP) or over User DatagramProtocol (UDP). This general characteristic of IP based wirelessnetworks further illustrates the importance of a mobile device 100 beingable to determine or reasonably judge its status from the network'sview, in accordance with the network update schemes described herein.

[0050] Preferred Device. FIG. 4 is a block diagram of a preferred mobilecommunication device which may be configured to inform a network of itsconnection status in accordance with a network update scheme describedin this application. Mobile communication device 610 may be configuredto inform a network of its connection status in accordance with anetwork update scheme of the present application. The mobilecommunication device 610 is preferably a two-way communication devicehaving at least voice and data communication capabilities. The mobiledevice preferably has the capability to communicate with other computersystems on the Internet. Depending on the functionality provided by themobile device, the mobile device may be referred to as a data messagingdevice, a two-way pager, a cellular telephone with data messagingcapabilities, a wireless Internet appliance or a data communicationdevice (with or without telephony capabilities).

[0051] Where the mobile device 610 is enabled for two-waycommunications, the mobile device will normally incorporate acommunication subsystem 611, including a receiver 612, a transmitter614, and associated components such as one or more, preferably embeddedor internal, antenna elements 616 and 618, local oscillators (LOs) 613,and a processing module such as a digital signal processor (DSP) 620.The communication subsystem 611 is analogous to the radio modem 316 andantenna 318 shown in FIG. 1. As will be apparent to those skilled in thefield of communications, the particular design of the communicationsubsystem 611 will be dependent upon the communication network in whichthe mobile device is intended to operate. For example, a mobile device610 may include a communication subsystem 611 designed to operate withina Mobitex mobile communication system, a DataTAC mobile communicationsystem, or a GPRS communication system.

[0052] Network access requirements will also vary depending upon thetype of network 619 utilized. For example, in the Mobitex and DataTACnetworks, such a mobile device 610 is registered on the network using aunique identification number associated with each mobile device. In GPRSnetworks, however, network access is associated with a subscriber oruser of mobile device 610. A GPRS device therefore requires a SubscriberIdentity Module (not shown), commonly referred to as a “SIM” card, inorder to operate on the GPRS network. Without a SIM card, a GPRS devicewill not be fully functional. Local or non-network communicationfunctions (if any) may be operable, but mobile device 610 will be unableto carry out any functions involving communications over network 619.

[0053] When required network registration or activation procedures havebeen completed, a mobile device 610 may send and receive communicationsignals over network 619. Signals received by antenna 616 throughnetwork 619 are input to receiver 612, which may perform such commonreceiver functions as signal amplification, frequency down conversion,filtering, channel selection and the like, and in the example systemshown in FIG. 4, analog-to-digital (A/D) conversion. A/D conversion of areceived signal allows more complex communication functions such asdemodulation and decoding to be performed in the DSP 620. In a similarmanner, signals to be transmitted are processed, including modulationand encoding for example, by DSP 620 and input to transmitter 614 fordigital-to-analog (D/A) conversion, frequency up conversion, filtering,amplification and transmission over the communication network 619 viaantenna 618. DSP 620 not only processes communication signals, but alsoprovides for receiver and transmitter control. For example, the gainsapplied to communication signals in the receiver 612 and transmitter 614may be adaptively controlled through automatic gain control algorithmsimplemented in the DSP 620.

[0054] Mobile device 610 includes a microprocessor 638, which is oneimplementation of controller 314 of FIG. 1, which controls the overalloperation of the mobile device. Communication functions, including atleast data and voice communications, are performed through thecommunication subsystem 611. Microprocessor 638 also interacts withadditional device subsystems such as a display 622, a flash memory 624,a random access memory (RAM) 626, auxiliary input/output (I/O)subsystems 628, a serial port 630, a keyboard 632, a speaker 634, amicrophone 636, a short-range communications subsystem 640, and anyother device subsystems generally designated as 642.

[0055] Some of the subsystems shown in FIG. 4 performcommunication-related functions, whereas other subsystems may provide“resident” or on-device functions. Notably, some subsystems, such askeyboard 632 and display 622, for example, may be used for bothcommunication-related functions, such as entering a text message fortransmission over a communication network, and device-resident functionssuch as a calculator or task list.

[0056] Operating system software used by the microprocessor 638 ispreferably stored in a persistent store such as flash memory 624, whichmay instead be a read-only memory (ROM) or similar storage element (notshown). Those skilled in the art will appreciate that the operatingsystem, specific device applications, or parts thereof, may betemporarily loaded into a volatile store such as RAM 626. It iscontemplated that received communication signals, the detected signallog and the loss of contact log may also be stored to RAM 626.

[0057] Microprocessor 638, in addition to its operating systemfunctions, preferably enables execution of software applications on themobile device. A predetermined set of applications which control basicdevice operations, including at least data and voice communicationapplications (such as a network update scheme), will normally beinstalled on the mobile device 610 during manufacture. A preferredapplication that may be loaded onto the mobile device may be a personalinformation manager (PIM) application having the ability to organize andmanage data items relating to the mobile device user such as, but notlimited to e-mail, calendar events, voice mails, appointments, and taskitems. Naturally, one or more memory stores would be available on themobile device to facilitate storage of PIM data items on the mobiledevice. Such PIM application would preferably have the ability to sendand receive data items via the wireless network. In a preferredembodiment, the PIM data items are seamlessly integrated, synchronizedand updated, via the wireless network, with the mobile device user'scorresponding data items stored or associated with a host computersystem thereby creating a mirrored host computer on the mobile devicewith respect to the data items at least. This would be especiallyadvantageous in the case where the host computer system is the mobiledevice user's office computer system. Further applications may also beloaded onto mobile device 610 through network 619, an auxiliary I/Osubsystem 628, serial port 630, short-range communications subsystem 640or any other suitable subsystem 642, and installed by a user in the RAM626 or preferably a non-volatile store (not shown) for execution bymicroprocessor 638. Such flexibility in application installationincreases the functionality of the mobile device and may provideenhanced on-device functions, communication-related functions, or both.For example, secure communication applications may enable electroniccommerce functions and other such financial transactions to be performedusing mobile device 610.

[0058] In a data communication mode, a received signal such as a textmessage or web page download will be processed by communicationsubsystem 611 and input to microprocessor 638, which will preferablyfurther process the received signal for output to display 622, oralternatively to an auxiliary I/O device 628. A user of mobile device610 may also compose data items such as email messages, for example,using the keyboard 632, which is preferably a complete alphanumerickeyboard or telephone-type keypad, in conjunction with display 622 andpossibly an auxiliary I/O device 628. Such composed items may then betransmitted over a communication network through communication subsystem611.

[0059] For voice communications, overall operation of mobile device 610is substantially similar, except that received signals would be outputto speaker 634 and signals for transmission would be generated bymicrophone 636. Alternative voice or audio I/O subsystems, such as avoice message recording subsystem, may also be implemented on mobiledevice 610. Although voice or audio signal output is preferablyaccomplished primarily through speaker 634, display 622 may also be usedto provide an indication of the identity of a calling party, theduration of a voice call, or other voice call related information, forexample.

[0060] The serial port 630 in FIG. 4 would normally be implemented in apersonal digital assistant (PDA)-type communication device for whichsynchronization with a user's desktop computer (not shown) may bedesirable, but is an optional device component. Such a port 630 wouldenable a user to set preferences through an external device or softwareapplication and would extend the capabilities of the mobile device byproviding for information or software downloads to mobile device 610other than through a wireless communication network. The alternatedownload path may for example be used to load an encryption key onto themobile device through a direct and thus reliable and trusted connectionto thereby enable secure device communication. Short-rangecommunications subsystem 640 is a further optional component which mayprovide for communication between the mobile device 624 and differentsystems or devices, which need not necessarily be similar devices. Forexample, subsystem 640 may include an infrared device and associatedcircuits and components or a Bluetooth™ communication module to providefor communication with similarly-enabled systems and devices. Bluetooth™is a registered trademark of Bluetooth SIG, Inc.

[0061]FIG. 5 is a flowchart which describes one method of maintainingcontact with a wireless network. The flow chart may involve any of themobile devices and/or networks described in relation to FIG. 1, 3, or 4.The method of FIG. 5 is a more detailed example of one of the methodspreviously described in relation to FIG. 2. In this description, the useof the term “receiver” may refer to radio modem 316 of FIG. 1 orreceiver 612 of FIG. 4; the term “transmitter” may refer to radio modem316 of FIG. 1 or transmitter 614 of FIG. 4; and the term “processor” mayrefer to controller 314 of FIG. 1 or microprocessor 638 or DSP 620 ofFIG. 4.

[0062] Beginning at a start block 702 of FIG. 5, a mobile device usesits receiver to monitor a paging channel between the mobile device andthe wireless network (step 704). Here, the mobile device preferablyoperates in a discontinuous receive mode where the receiver iscontrolled to power down and wake up in a periodic fashion to listen tobroadcast message signals in a time slot assigned by the network. Whilereceiving signals on the paging channel, the mobile device uses itsprocessor to determine a received signal strength from the signals (step706) as is conventional. The received signal strength is generally highwhen the mobile device is in a good coverage area, and generally lowwhen the mobile device is in a poor coverage area.

[0063] With conventional methods, if the received signal strength is toolow, the mobile device will reject the current network and “scan” thecoverage area to identify any better signal that can be provided bydifferent base stations or networks. In the present method, however, themobile device continues listening to the network with its receiver andattempting to decode a broadcast message on its paging channel (step708), regardless of the received signal strength. In addition tocontinuing to listen to the network, the mobile device may also scan thecoverage area to identify any better signal from a different networkwhen the received signal strength is low, which is possible in atime-divided communication environment.

[0064] Next, the mobile device tests whether the message wassuccessfully decoded (step 710). This step may be performed in theprocessor using any suitable test, conventional or otherwise, such as byexamining an error detection code (e.g. a cyclical redundancy check orCRC), testing for a checksum error, testing whether the decoded messageconforms with a predefined message format, etc. The mobile device maystore an indication of whether or not the message was actually decodedsuccessfully, preferably in a decode history list which covers a givenperiod of time.

[0065] If the message is successfully decoded as identified in step 710,then the mobile device determines whether the message notifies themobile device of an upcoming data communication session (step 712). Thisstep 712 may be performed in the processor using conventionaltechniques, such as by comparing a mobile identification code in themessage with the mobile device's identification code (or temporaryidentity code assigned by the network) and, if a match exists, knowingthat an upcoming data communication will occur. If the message decodedin step 710 does inform the mobile device of an incoming datacommunication session in step 712, then the mobile devices processes themessage as is conventional (step 714) (i.e. obtains an assigned trafficchannel and thereafter receives data over the traffic channel). When allof the data is received, the mobile device may go back to monitoring apaging channel in step 704.

[0066] Assuming there was no message directed to the mobile device instep 712, the mobile device identifies whether an inadequate decodingcondition is present (step 716). If an inadequate decoding condition ispresent, as tested at step 716, then the processor will cause thetransmitter of the mobile device to transmit an update message whichinforms the network of the mobile device (step 718). An update messageis any message transmitted by a mobile device that is used to informand/or update the network of the mobile device's status, even if themessage may have another different purpose. For, example, the updatemessage may be, in GPRS, a location area update message or a routingarea update message. As another example, the update message may be amessage for sending user data. On the other hand, if the adversedecoding condition is not present at step 716, the processor willnormally refrain from causing the transmitter to transmit the updatemessage. Typically, no update message will be transmitted in thissituation even when the signal strength is low, as long as most messagesare being successfully decoded. The mobile device may go back tomonitoring the paging channel in step 704 to repeat this process.

[0067] As apparent, the test in step 716 uses a more intelligent processfor transmitting an update message that is different from just testingthe received signal strength. The inadequate decoding condition testedin step 716 is determined based on an unsuccessful decoding of one ormore regularly broadcasted messages. Preferably, the condition testedfor in step 716 is particularly based on a determination that messagescorresponding to most or all page transmission periods of a networkpaging pattern have been unsuccessfully decoded. In this case, theanalysis may involve the more detailed process described later inrelation to FIGS. 7 and 8(A)-(G).

[0068] In a variation to step 718 in FIG. 5, the mobile device transmitsthe update message only when or until communication conditions aredeemed adequate (e.g. the received signal strength is above apredetermined threshold, and/or one or more messages can be decoded,etc.). In another variation, the mobile device delays for apredetermined time period before the transmission of the update message.In yet another variation, the mobile device transmits the update messageonly when or until communication conditions are adequate after delayingfor a predetermined period of time.

[0069] As apparent from the method described in relation to FIG. 5, themobile device maintains contact with the wireless network withoutoverburdening the wireless link with update messages when the receivedsignal strength is low. As described, this method involves monitoring awireless communication channel, determining a received signal strengthof signals on the wireless channel, and attempting to decode a messagefrom the signals. The mobile device normally refrains from transmittingan update message when a message during a page transmission period issuccessfully decoded, even though the received signal strength may bebelow a predetermined threshold. In response to an inadequate decodingcondition being identified, however, the mobile device transmits anupdate message which informs the network of the mobile device. Thetransmission of the update message may be done when communicationconditions are deemed adequate, after a predetermined period of time hasexpired, or both.

[0070]FIG. 6 is a flowchart which describes another method ofmaintaining contact with a wireless network. The method may involve anyof the mobile devices and/or networks described in relation to FIG. 1,3, or 4. The method of FIG. 6 is a more detailed example of one of themethods previously described in relation to FIG. 2. In this description,the use of the term “receiver” may refer to radio modem 316 of FIG. 1 orreceiver 612 of FIG. 4; the term “transmitter” may refer to radio modem316 of FIG. 1 or transmitter 614 of FIG. 4; and the term “processor” mayrefer to controller 314 of FIG. 1 or microprocessor 638 or DSP 620 ofFIG. 4.

[0071] Beginning at a start block 802 of FIG. 6, a mobile device usesits receiver to monitor a paging channel between the mobile device andthe wireless network (step 804). Here, the mobile device preferablyoperates in a discontinuous receive mode where the receiver iscontrolled to power down and wake up in a periodic fashion to listen tobroadcast message signals in a time slot assigned by the network. Whilemonitoring the paging channel, the mobile device receives signals overthe channel and attempts to decode a message from the signals. Moreparticularly, the mobile device uses its receiver and processor to testwhether it receives and decodes a page message which notifies the mobiledevice of an upcoming data communication session (step 806). This stepmay be performed using conventional techniques, such as by using theprocessor to compare a mobile identification code in the message withthe mobile device's identification code and, if a match exists, knowingthat an upcoming data communication session will occur for the mobiledevice.

[0072] If the message notifies the mobile device of an incoming datacommunication session in step 806, then processor will cause a pageresponse message to be transmitted through the transmitter back to thenetwork (step 808). If no response is received back from the networkwithin a short period of time, however, the processor will cause one ormore additional page response messages to be transmitted to the network,in accordance with a conventional or standardized methodology. If anetwork response is eventually received in step 810, then the mobiledevice continues processing the message as is conventional (step 812)(i.e. obtains an assigned traffic channel and thereafter receives dataover the traffic channel). When all of the data is received, the mobiledevice may go back to monitoring a paging channel in step 804.

[0073] However, if still no response from the network is received aftertransmitting the page response message(s), as tested at step 810, thenthe processor in the mobile device causes a delay for some period oftime until a predetermined event occurs (step 814). After thepredetermined event occurs as tested at step 814, the processor causesan update message which notifies the network of the mobile device to betransmitted through the transmitter (step 816). An update message is anymessage transmitted by a mobile device that is used to inform and/orupdate the network of the mobile device's status, even if the messagemay have another different purpose. For, example, the update message maybe, in GPRS, a location area update message or a routing area updatemessage. As another example, the update message may be a message forsending user data.

[0074] After transmitting this update message, the mobile device waitsagain to receive a network response in step 810. If the mobile devicereceives the network response, it may then proceed to completeprocessing of the page in step 812. If the mobile device does notreceive the network response as tested in step 810, then it continueswith the flowchart in step 814 waiting for the predetermined event tooccur again as shown.

[0075] Alternatively, after transmitting the update message in step 816,instead of waiting for a network response in step 810 the mobile devicemay revert back to monitoring the paging channel in step 804 fordetecting the same (but newly broadcasted) page in step 806. Thereafter,the mobile device again delays until the predetermined event occurs instep 814 to transmit the update message in step 816 and monitor thepaging channel for the page.

[0076] In one embodiment, the predetermined event detected in step 814is an expiration of a predetermined time period. In this case, thepredetermined time period is preferably between thirty (30) seconds andfive (5) minutes. Such a delay is acceptable for communicationsinvolving updated user data (as opposed to a voice call), such as ane-mail notification for a newly received e-mail message, an e-mailmessage, or updated calendar information. Other time periods suitablefor these data communications may be chosen as well.

[0077] In another embodiment, the predetermined event detected in step814 is a detection of adequate communication quality. The communicationquality may be based on the received signal strength, for example, orwhether or not messages can be decoded. If the event is based onreceived signal strength, then the mobile device waits for the receivedsignal strength to be above a predetermined threshold value, or for itto be above a predetermined threshold for a predetermined period oftime. If the event is based on whether or not messages can be decoded,the mobile device detects when a single message received over thechannel is successfully decoded. Alternatively, the mobile devicedetects when a plurality of messages received over the channel aresuccessfully decoded.

[0078] In yet another embodiment, the predetermined event detected instep 814 is a detection of user activity at the mobile device. As anexample, the mobile device may detect any user input at the mobiledevice, such as the actuation of a button or touch screen device, beforeit transmits the update message. As another more particular example, themobile device may detect that the end user is attempting to access oropen an e-mail application (or calendar application) on the mobiledevice or attempting to read e-mail information (or calendarinformation) from the mobile device. One or more of these events may beutilized in combination, and other predetermined events providing asuitable motivation to contact the network may also be utilized.

[0079] As apparent from the method described in relation to FIG. 6, themobile device maintains sufficient contact with the wireless networkwithout overburdening the wireless link with update messages when thereis insufficient response from the network. As described, this methodgenerally involves monitoring a wireless communication channel,receiving a message that notifies the mobile communication device of anupcoming data communication session, and transmitting one or moreresponse messages in response to receiving the message. Aftertransmitting the one or more response messages, further communicationsassociated with the message may not be received by the mobile device. Inthis situation, the mobile device will transmit an update message whichinforms the network of the mobile device after it detects apredetermined condition. The predetermined condition may involve anysuitable motivation to contact the network, for example, an expirationof a predetermined time period, a detection of adequate communicationquality, or a detection of user activity at the mobile device.

[0080]FIG. 7 is a flowchart which describes yet another method ofmaintaining contact with a wireless network. The method may involve anyof the mobile devices and/or networks described in relation to FIG. 1,3, or 4. The method of FIG. 7 is a more detailed example of one of themethods previously described in relation to FIG. 2. In this description,the use of the term “receiver” may refer to radio modem 316 of FIG. 1 orreceiver 612 of FIG. 4; the term “transmitter” may refer to radio modem316 of FIG. 1 or transmitter 614 of FIG. 4; and the term “processor” mayrefer to controller 314 of FIG. 1 or microprocessor 638 or DSP 620 ofFIG. 4. The method of FIG. 7 exploits what is referred to as a“predetermined paging pattern” that is utilized by the network each timea mobile device is paged to receive data. Before describing theflowchart of FIG. 7 in detail, an example of a predetermined networkpaging pattern is described in relation to a graph shown in FIG. 8(A).

[0081] The network is configured and prepared to broadcast the same pagemessage to a mobile device more than once in accordance with the pagingpattern of FIG. 8(A) as the mobile device may be in a poor coverage areaand not be able to receive the page on the first or subsequent tries bythe network. In particular, the predetermined network paging pattern ofFIG. 8(A) includes a plurality of page broadcast periods 1002 eachdesigned by the letter “P” and a corresponding number. In FIG. 8(A), thespecific paging pattern reveals that, each time the network attempts topage a mobile device, it broadcasts a maximum number of six (6) pagemessages over a fifteen (15) second interval, pairing up each two (2)consecutive page message broadcasts with a 0.5 second interval, withseven (7) second delay periods between each page broadcast pair. Moreparticularly, the first message that the network broadcasts is a pagemessage 1004 (P1) shown at a time t₀. About 0.5 seconds later, thenetwork broadcasts another page message 1006 (P2). If the network doesnot receive a page response from the mobile device shortly afterbroadcasting page messages 1004 and 1006, it broadcasts another two pagemessages 1008 and 1010 (P3 and P4) at a time t₇ after a delay of aboutseven (7) seconds. Like page messages 1004 and 1006 (P1 and P2), pagemessages 1008 and 1010 (P3 and P4) are spaced apart by 0.5 seconds. Ifthe network does not receive a page response from the mobile deviceshortly after page messages 1008 and 1010, it broadcasts another twopage messages 1012 and 1014 (P5 and P6) at a time t₁₄ after anotherdelay of about seven (7) seconds. Page messages 1012 and 1014 are alsospaced apart by 0.5 seconds.

[0082] If the network does not receive a page response from the mobiledevice shortly after broadcasting page messages 1012 and 1014, thenetwork will altogether stop broadcasting page messages to the mobiledevice (assuming no further methodology is employed). In this case, thenetwork deems the mobile device “lost” and stops sending it pages. It isdesirable to have the network stop broadcasting page messages to themobile device since it reduces the amount of network traffic over thewireless link; however, this is undesirable when the mobile deviceregains adequate coverage and is able to receive pages.

[0083] FIGS. 8(B) and 8(C) show two examples of conventional responsescenarios from a mobile device after receiving a page from the network.To illustrate, in FIG. 8(B) it is shown that the mobile devicesuccessfully receives and decodes the first page message broadcasted bythe network (namely, page message 1004 or P1 of FIG. 8(A)) and respondsby transmitting a page response message 1016. Thereafter, a dataexchange 1018 associated with the page takes place between the mobiledevice and the network. In FIG. 8(C), however, it is shown that themobile device initially has relatively poor coverage 1020 (e.g. over thefirst nine (9) seconds or so) and therefore misses the initial pagemessages broadcasted by the network (namely, it misses page messages1004 through 1010). However, the mobile device has relatively goodcoverage after the initial time period and therefore it receives anddecodes a subsequent page message (namely, page message 1012 or P5 ofFIG. 8(A)). Therefore, the mobile device eventually transmits a pageresponse message 1024 and, thereafter, a data exchange 1026 associatedwith the page takes place between the mobile device and the network. Inthe two scenarios of FIGS. 8(A) and 8(B), the system operates asintended and there are no problems encountered.

[0084] To employ the novel aspects of the present invention, the mobiledevice has knowledge of the predetermined network paging pattern storedin its memory (e.g. RAM, ROM, or EEPROM). The paging pattern may bestored in the mobile device's memory in any suitable form. For example,the mobile device may have the paging pattern of FIG. 8(A) stored in itsmemory in binary form as “110000000000001100000000000011” where a binary“1” indicates a broadcasted page message and a binary “0” indicates nobroadcasted page message for a given time period. Although FIG. 8(A)shows a very specific example of a paging pattern employed by a network,any suitable paging pattern may be utilized. Preferably, thepredetermined network paging pattern covers a relatively short period oftime, for example, a predetermined period of time no greater than one(1) minute.

[0085] The mobile device utilizes its knowledge of the paging pattern inconnection with what is referred to as a “message decode history list”that is maintained in its memory. The message decode history list is alist of message decode indicators, each of which provides an indicationof whether or not a previous message was successfully decoded over arelatively short period of time (e.g. 0.5 seconds) when one is expected.Put another way, the message decode history list keeps track of whetheror not each of a most recent plurality of regularly broadcasted messageshas been successfully decoded. The list of message decode indicators maytogether cover a relatively long period of time (e.g. the length of theentire predetermined network paging pattern, 15 seconds) from the pastto the present.

[0086] The message decode history list and its indicators may berepresented in any number of different ways. For example, each messagedecode indicator may indicate either a “MESSAGE SUCCESSFULLY DECODED”(‘1’) condition or a “MESSAGE NOT SUCCESSFULLY DECODED” (‘0’) conditionfor the period of time. In this case, the message decode history listmay be represented in binary form, for example, as“111011111111111011101111111”, where each binary number corresponds to aperiod of 0.5 seconds for a total time period of 15 seconds, theleftmost binary number being the least recent time period and therightmost number being the most recent time period. Thus, theseindicators are preferably stored in temporal order from left to right.In this specific example, the history list shown indicates relativelygood decoding over the fifteen (15) second time period with only three(3) short intervals (where the three binary “0” numbers are located)where decoding was poor. As apparent, the message decode history listcovers a time period that is equal to or greater than the entirepredetermined network paging pattern.

[0087] The mobile device generates the message decode history list usingits receiver to monitor the paging channel established between themobile device and the wireless network. While monitoring the pagingchannel, the mobile device performs various tasks including receivingsignals over the channel, determining the received signal strength ofthe signals, and attempting to decode a message from the signals. Themobile device determines a message decode indicator based on whether ornot an expected broadcasted message was decoded over the period of time.More particularly, if the broadcast message was decoded over the periodof time, then the message decode indicator is marked as successful(“MESSAGE SUCCESSFULLY DECODED” or “1”); if the broadcast message wasunable to be decoded over the period of time, then the message decodeindicator is marked as unsuccessful (“MESSAGE NOT SUCCESSFULLY DECODED”or “0”). After determining the current message decode indicator, themobile device causes it to be stored in the message decode history listas the most recent entry.

[0088] Use of the message decode history list and the stored networkpaging pattern will now be described in relation to the flowchart ofFIG. 7. Beginning at a start block 902 of FIG. 7, the mobile devicemaintains a message decode history list in its memory (step 904). Themaintenance of the history list may include using the processor andmemory to continually maintain storage of the list and update themessage decode indicators to reflect the current time period. Themaintenance of the list may also include deleting relatively “old”decode indicators. As one example, if the history list is maintained inbinary temporally-ordered form as described earlier, it may bepreferable to periodically utilize a “logical shift left” or equivalentoperation on the list to simultaneously add the most recent messagedecode indicator and remove the oldest one.

[0089] Next, the mobile device uses its processor to compare the messagedecode history list with the predetermined network paging pattern storedin its memory (step 906 of FIG. 7). The predetermined network pagingpattern may be that described above in relation to FIG. 8(A), forexample. In this comparison, the time periods in the list and thepattern are properly aligned to order to identify the overlap betweenpoor/good decode periods and the page transmission/non-transmissionperiods. The mobile device then uses its processor to test whether oneor more unsuccessful message decode periods in the message decodehistory list overlap with all page transmission periods in the pagingpattern (step 908). If this is the case, the mobile device may havemissed a page from the network so therefore it transmits an updatemessage which informs the network of the mobile device (step 910), andmay repeat the method starting at step 904. An update message is anymessage transmitted by a mobile device that is used to inform and/orupdate the network of the mobile device's status, even if the messagemay have another different purpose. For, example, the update message maybe, in GPRS, a location area update message or a routing area updatemessage. As another example, the update message may be a message forsending user data.

[0090] If the one or more unsuccessful message decode periods do notoverlap with all page transmission periods in the pattern (i.e. if anysuccessful message decode indicator in the history list overlaps withany page transmission period of the paging pattern) as tested in step908, the mobile device normally refrains from transmitting an updatemessage to the network. The method may be repeated starting again atstep 904.

[0091] In an alternative embodiment of FIG. 7, the mobile devicetransmits the update message only when communication conditions aredeemed adequate (e.g. the received signal strength is above apredetermined threshold, and/or one or more messages can be decoded,etc.). In another alternate embodiment, the mobile device delays for apredetermined time period before the transmission of the update message.In yet another alternate embodiment, the mobile device transmits theupdate message only when communication conditions are adequate afterdelaying for a predetermined period of time.

[0092] If the history list and paging pattern data is maintained inbinary form, steps 906 and 908 of FIG. 7 may be performed using alogical “AND” operation between the list and the pattern. For example, alogical AND operation of the paging pattern of“110000000000001100000000000011” and the history list of“111011111111111011111101111111” provides a non-zero result whichindicates that at least one successful message decode period co-existedwith a potential page message broadcast by the network. A logical ANDoperation of the same paging pattern “110000000000001100000000000011”and the history list of “000010101000000000000111000000” provides aresult of zero which indicates that no successful message decode periodco-existed with a potential page message broadcast by the network. Inthe latter case, the mobile device transmits an update message whichinforms the network of the mobile device; in the former case, itnormally does not. As one skilled in the art will readily understand,other suitable logical operations may be utilized to achieve the sameresults.

[0093] In another alternate embodiment of FIG. 7, the mobile devicerequires a greater number of successful message decode periods tooverlap with page message broadcast periods to refrain from transmittingthe update message. That is, more than one successful message decodeperiod is required to overlap with more than one potential pagetransmission by the network. For example, the mobile device may requirethat two or three successful message decode periods overlap with two orthree potential page message broadcast periods to order to refrain fromtransmitting the update message. In this case, any number less than twoor three will result in the update message being transmitted by themobile device.

[0094] FIGS. 8(D) through 8(G) show various examples of possibleresponses from a mobile device with use of the methodology described inrelation to FIGS. 7 and 8(A). In FIGS. 8(D) through 8(G, the mobiledevice is operating in relatively poor coverage and the network has notattempted to broadcast any page messages to the mobile device. FIGS.8(D)-(E) reveal scenarios where the coverage area was indeed poor enoughto transmit an update message to the network, whereas FIGS. 8(F)-(G)reveal scenarios where transmission of an update message was not deemednecessary.

[0095] More particularly, FIG. 8(D) shows that the mobile deviceoperated in a relatively poor coverage period 1028 over an extendedperiod of time (e.g. over 15 seconds). Thus, all of the message decodeindicators in the message decode history list maintained by the mobiledevice indicated poor coverage over this period 1028 (i.e. list is“000000000000000000000000000000”). In response to the comparison of thehistory list and the network paging pattern, the mobile stationtransmits an update message 1032 which informs the network of the mobiledevice during a relatively good coverage period 1030. The mobile stationtransmits the update message 1032 even though the network may not havebroadcasted any page message during period 1028.

[0096]FIG. 8(E) shows that the mobile device operated in a fringe areawhere both poor and good coverage conditions were encountered. As shownin FIG. 8(E), the mobile device experienced a plurality of poor coverageperiods 1036, 1040, and 1044 as well as a plurality of good coverageperiods 1038, 1042, and 1046. This caused the mobile device to transmitan update message 1048. The message decode history list may haverepresented this time period in binary form as“000000111111110000001111111100” in accordance with FIG. 8(E).Performing a logical “AND” operation with this history list and thepaging pattern of “110000000000001100000000000011”, a result of zero isprovided which causes the update message to be transmitted. The mobilestation transmits the update message 1048 even though the network maynot have broadcasted any page message during the period of marginalcoverage.

[0097]FIG. 8(F) shows that the mobile device operated in another fringearea where both poor and good coverage conditions were encountered. Asshown in FIG. 8(F), the mobile device experienced a plurality of poorcoverage periods 1052 and 1056 as well as a plurality of good coverageperiods 1054 and 1058. However, the mobile device refrained fromtransmitting an update message. The message decode history list may haverepresented this time period in binary form as“000000111111000000000000000011” in accordance with FIG. 8(F).Performing a logical “AND” operation with this history list and thepaging pattern of “110000000000001100000000000011”, a non-zero result isprovided which causes the mobile device to refrain from transmitting anupdate message.

[0098]FIG. 8(G) shows that the mobile device operated in yet anotherfringe area where both poor and good coverage conditions wereencountered. As shown in FIG. 8(G), the mobile device experienced aplurality of poor coverage periods 1052 and 1056 as well as a pluralityof good coverage periods 1054 and 1058. However, the mobile devicerefrained from transmitting an update message. The message decodehistory list may have represented this time period in binary form as“000000000000111100000000000000” in accordance with FIG. 8(G).Performing a logical “AND” operation with this history list and thepaging pattern of “110000000000001100000000000011”, a non-zero result isprovided which causes the mobile device to refrain from transmitting anupdate message.

[0099] As apparent from the method described in relation to FIGS. 7 and8(A)-8(G), the mobile device maintains sufficient contact with thewireless network without overburdening the wireless link with updatemessages when coverage is marginal. As described, this method involvescontinually maintaining a message decode history list and comparing itwith a predetermined paging pattern of the network. An update messagewhich informs the network of the mobile device is transmitted inresponse to identifying that one or more unsuccessful message decodeperiods in the message decode history list overlap with all pagetransmission periods in the predetermined network paging pattern. On theother hand, the update message is not normally transmitted in responseto identifying that any successful message decode period in the messagedecode history list overlaps with any page transmission period in thepredetermined network paging pattern. Preferably, the mobile deviceutilizes a combination of one or more (or all) of the contact managementschemes described herein. It will be appreciated that the abovedescription relates to preferred embodiments by way of example only.Many variations on the invention will be obvious to those knowledgeablein the field, and such obvious variations are within the scope of theinvention, whether or not expressly described.

What is claimed is:
 1. In a mobile communication device, a method ofmaintaining contact with a wireless communication network comprising theacts of: monitoring a wireless communication channel; determining areceived signal strength of signals on the wireless communicationchannel; attempting to decode a message from the signals; continuallyrepeating the acts of monitoring, determining, and attempting to decode;during the repeated acts of monitoring, determining, and attempting todecode: transmitting an update message which informs the network of themobile communication device in response to an inadequate communicationcondition being identified; and normally refraining from transmitting anupdate message to the network in response to a message during a pagetransmission period being successfully decoded, even when the receivedsignal strength is below a predetermined threshold for the pagetransmission period.
 2. The method of claim 1, wherein the inadequatecommunication condition comprises an inadequate decoding condition whereone or more messages have been unsuccessfully decoded.
 3. The method ofclaim 1, wherein the inadequate communication condition comprises adetermination that messages for all page transmission periods of anetwork paging pattern have been unsuccessfully decoded.
 4. The methodof claim 1, further comprising the act of: identifying whencommunication conditions are adequate before transmitting the updatemessage.
 5. The method of claim 1, further comprising the act of:delaying for a predetermined period of time before transmitting theupdate message.
 6. The method of claim 1, wherein the act of attemptingto decode a message from the signals comprises the further act ofattempting to decode a broadcasted page message.
 7. The method of claim1, wherein the act of normally refraining from transmitting the updatemessage comprises the further act of normally refraining fromtransmitting the update message unless the successfully decoded messagenotifies the mobile communication device of an upcoming datacommunication session.
 8. A mobile communication device, comprising: areceiver; a transmitter; an antenna coupled to the receiver and thetransmitter; one or more processors coupled to the receiver and thetransmitter; the one or more processors configured for: controlling thereceiver to monitor a wireless communication channel; determining areceived signal strength of signals on the wireless communicationchannel; attempting to decode a message from the signals; continuallyrepeating the acts of controlling the receiver, determining, andattempting to decode; during the repeated acts of controlling thereceiver, determining, and attempting to decode: causing an updatemessage which informs the network of the mobile communication device tobe transmitted through the transmitter after an inadequate communicationcondition is identified; and normally refraining from causing an updatemessage to be transmitted through the transmitter in response to amessage during a page transmission period being successfully decoded,even when the received signal strength is below a predeterminedthreshold for the page transmission period.
 9. The mobile communicationdevice of claim 8, wherein the inadequate communication conditioncomprises an inadequate decoding condition where one or more messageshave been unsuccessfully decoded.
 10. The mobile communication device ofclaim 8, wherein the inadequate communication condition comprises adetermination that messages for all page transmission periods of apredetermined network paging pattern have been unsuccessfully decoded.11. The mobile communication device of claim 8 wherein the one or moreprocessors are further configured for identifying when communicationconditions are adequate before transmitting the update message.
 12. Themobile communication device of claim 8 wherein the one or moreprocessors are further configured for delaying for a predeterminedperiod of time before transmitting the update message.
 13. The mobilecommunication device of claim 8 wherein the update message comprises oneof a location area update message and a routing area update message. 14.The mobile communication device of claim 8 wherein, for attempting todecode a message from the signals, the one or more processors arefurther configured for attempting to decode a broadcasted page message.15. In a mobile communication device, a method of maintaining contactwith a wireless communication network comprising the acts of: monitoringa wireless communication channel; receiving, over the wirelesscommunication channel, a message that notifies the mobile communicationdevice of an upcoming data communication session; transmitting one ormore response messages in response to receiving the message; aftertransmitting the one or more response messages, failing to receivefurther data communications associated with the message; after failingto receive the further data communications associated with the message,detecting a predetermined condition; and in response to detecting thepredetermined condition, causing the transmission of an update messagewhich informs the network of the mobile communication device.
 16. Themethod of claim 15, wherein the message comprises a broadcasted pagemessage and the one or more response messages comprise one or more pageresponse messages.
 17. The method of claim 15, wherein the one or moreresponse messages comprise one or more acknowledgement messages.
 18. Themethod of claim 15, wherein the predetermined condition comprises anexpiration of a timer.
 19. The method of claim 15, wherein thepredetermined condition comprises a detection of adequate communicationcondition.
 20. The method of claim 15, wherein the predeterminedcondition comprises a detection of user-inputs at the mobilecommunication device.
 21. A mobile communication device, comprising: areceiver; a transmitter; an antenna coupled to the receiver and thetransmitter; one or more processors coupled to the receiver and thetransmitter; the one or more processors configured for: controlling thereceiver to monitor a wireless communication channel established with awireless communication network; receiving, through the receiver, amessage that notifies the mobile communication device of an upcomingdata communication session; causing the transmission of one or moreresponse messages through the transmitter in response to receiving themessage; after causing the transmission of the one or more responsemessages, failing to receive further data communications associated withthe message through the receiver; after failing to receive the datafurther communications associated with the message, detecting apredetermined condition; and in response to detecting the predeterminedcondition, causing the transmission of an update message which informsthe network of the mobile communication device.
 22. The mobilecommunication device of claim 21 wherein the one or more processors areconfigured for receiving a message comprising a broadcasted pagemessage.
 23. The mobile communication device of claim 21, wherein theone or more processors are further configured for causing thetransmission of one or more response messages comprising one or moreacknowledgement messages.
 24. The mobile communication device of claim21, wherein the predetermined condition comprises an expiration of atimer.
 25. The mobile communication device of claim 21, wherein thepredetermined condition comprises a detection of adequate communicationcondition.
 26. The mobile communication device of claim 21, wherein thepredetermined condition comprises a detection of user-inputs at themobile communication device.
 27. In a mobile communication device, amethod of maintaining contact with a wireless communication networkcomprising the acts of: maintaining a message decode history list;comparing the message decode history list and a predetermined networkpaging pattern; and transmitting an update message which informs thenetwork of the mobile communication device in response to identifyingthat one or more unsuccessful message decode periods in the messagedecode history list overlap with all page transmission periods in thepredetermined network paging pattern.
 28. The method of claim 27,further comprising: normally refraining from transmitting the updatemessage in response to identifying that any successful message decodeperiod in the message decode history list overlaps with any pagetransmission period in the predetermined network paging pattern.
 29. Themethod of claim 27, comprising the further act of: delaying the act oftransmitting the update message until communication conditions areadequate.
 30. The method of claim 27, wherein the act of maintaining themessage decode history list comprises the further act of maintaining amessage decode history list with indicators that are determined based onwhether or not messages are decoded.
 31. The method of claim 27, whereinthe act of maintaining the message decode history list comprisesmaintaining a message decode history list corresponding to a period oftime equal to that of the predetermined network paging pattern.
 32. Themethod of claim 27, wherein the act of maintaining the message decodehistory list comprises the further act of continually updating themessage decode history list for a most recent period of time.
 33. Amobile communication device, comprising: a receiver; a transmitter; anantenna coupled to the receiver and the transmitter; one or moreprocessors coupled to the receiver and the transmitter; a memory; theone or more processors configured for: maintaining a message decodehistory list in the memory; comparing the message decode history listand a predetermined network paging pattern; and causing an updatemessage to be transmitted through the transmitter after identifying thatone or more unsuccessful message decode periods in the message decodehistory list overlap with all page transmission periods in thepredetermined network paging pattern.
 34. The mobile communicationdevice of claim 33, wherein the one or more processors are furtherconfigured for: normally refraining from causing the update message tobe transmitted through the transmitter when any successful messagedecode period in the message decode history list overlaps with any pagetransmission period in the predetermined network paging pattern.
 35. Themobile communication device of claim 33, wherein the one or moreprocessors are further configured for delaying the transmission of theupdate message until communication conditions are adequate.
 36. Themobile communication device of claim 33 wherein, for maintaining themessage decode history list, the one or more processors are furtherconfigured for: maintaining a message decode history list correspondingto a period of time equal to that of the predetermined network pagingpattern.
 37. The mobile communication device of claim 33 wherein, formaintaining the message decode history list, the one or more processorsare further configured for: maintaining a message decode history listcovering a time period of the predetermined network paging pattern andcomprising a plurality of temporally-ordered message decode indicatorseach of which cover a time period of a page broadcast interval.
 38. Themobile communication device of claim 33 wherein, for maintaining themessage decode history list, the one or more processors are furtherconfigured for: maintaining a message decode history list having aplurality of message decode indicators, each being indicative of one ofa successful message decode period and an unsuccessfully message decodeperiod.
 39. The mobile communication device of claim 33 wherein, formaintaining the message decode history list, the one or more processorsare further configured for: continually updating the message decodehistory list for a most recent time period.
 40. A software applicationwhich is executable to perform a network update technique for a mobilecommunication device by monitoring a wireless communication channel;determining a received signal strength of signals on the wirelesscommunication channel; attempting to decode a message from the signals;continually repeating the acts of monitoring, determining, andattempting to decode; during the repeated acts of monitoring,determining, and attempting to decode: causing an update message whichinforms the network of the mobile communication device to be transmittedin response to an inadequate communication condition being identified;and normally refraining from causing an update message to be transmittedto the network in response to a message during a page transmissionperiod being successfully decoded, even when the received signalstrength is below a predetermined threshold for the page transmissionperiod.
 41. The software application of claim 40, wherein the inadequatecommunication condition comprises an inadequate decoding condition whereone or more messages have been unsuccessfully decoded.
 42. The softwareapplication of claim 40, wherein the inadequate communication conditioncomprises a determination that messages for all page transmissionperiods of a network paging pattern have been unsuccessfully decoded.43. The software application of claim 40, wherein the softwareapplication is further executable for: identifying when communicationconditions are adequate before transmitting the update message.
 44. Thesoftware application of claim 40, wherein the software application isfurther executable for: delaying for a predetermined period of timebefore transmitting the update message.
 45. The software application ofclaim 40, wherein the software application is further executable forattempting to decode a message comprising a broadcasted page message.46. The software application of claim 40, wherein the softwareapplication is further executable for normally refraining from causingthe update message to be transmitted unless the successfully decodedmessage notifies the mobile communication device of an upcoming datacommunication session.
 47. A software application which is executable toperform a network update technique for a mobile communication device bymaintaining a message decode history list; comparing the message decodehistory list and a predetermined network paging pattern; and causing anupdate message which informs the network of the mobile communicationdevice to be transmitted in response to identifying that one or moreunsuccessful message decode periods in the message decode history listoverlap with all page transmission periods in the predetermined networkpaging pattern.
 48. The software application of claim 47, wherein thesoftware application is further executable to normally refrain fromtransmitting the update message in response to identifying that anysuccessful message decode period in the message decode history listoverlaps with any page transmission period in the predetermined networkpaging pattern.
 49. The software application of claim 47, wherein thesoftware application is further executable to delay the act oftransmitting the update message until communication conditions areadequate.
 50. The software application of claim 47, wherein the softwareapplication is further executable to maintain a message decode historylist with indicators that are determined based on whether or notmessages are decoded.
 51. The software application of claim 47, whereinthe software application is further executable to maintain a messagedecode history list corresponding to a period of time equal to that ofthe predetermined network paging pattern.
 52. The software applicationof claim 47, wherein the software application is further executable tocontinually update the message decode history list for a most recentperiod of time.